import { defineEventHandler, getQuery } from 'h3';

export default defineEventHandler(async (event) => {
  const query = getQuery(event);
  const {
    originalResourceId,
    copiedResourceId,
    copiedBy,
    isTemplate,
    pageNo = 1,
    pageSize = 10,
  } = query;

  // 资源复制记录数据
  const resourceCopyRecords = [
    // 酒店主楼复制记录
    {
      id: 1,
      original_resource_id: 1,
      copied_resource_id: 101,
      copied_by: 'manager',
      copy_reason: '作为酒店管理模板使用',
      copy_scope: 'private',
      copy_time: '2024-01-15 10:30:00',
      is_template: true,
      template_name: '酒店主楼管理模板',
      template_description:
        '这是一个完整的酒店主楼管理模板，包含客房管理、预订管理、客人服务等核心能力',
      created_time: '2024-01-15 10:30:00',
      updated_time: '2024-01-15 10:30:00',
      deleted: 0,
    },
    {
      id: 2,
      original_resource_id: 1,
      copied_resource_id: 102,
      copied_by: 'developer',
      copy_reason: '用于开发测试',
      copy_scope: 'private',
      copy_time: '2024-01-16 14:20:00',
      is_template: false,
      template_name: null,
      template_description: null,
      created_time: '2024-01-16 14:20:00',
      updated_time: '2024-01-16 14:20:00',
      deleted: 0,
    },
    // 酒店管理系统复制记录
    {
      id: 3,
      original_resource_id: 10,
      copied_resource_id: 103,
      copied_by: 'admin',
      copy_reason: '作为数字资源模板分享',
      copy_scope: 'public',
      copy_time: '2024-01-17 09:15:00',
      is_template: true,
      template_name: '酒店数字化管理模板',
      template_description:
        '这是一个酒店数字化管理的标准模板，包含PMS集成、支付网关、数据分析等能力',
      created_time: '2024-01-17 09:15:00',
      updated_time: '2024-01-17 09:15:00',
      deleted: 0,
    },
    {
      id: 4,
      original_resource_id: 10,
      copied_resource_id: 104,
      copied_by: 'manager',
      copy_reason: '为分店创建管理系统',
      copy_scope: 'private',
      copy_time: '2024-01-18 16:45:00',
      is_template: false,
      template_name: null,
      template_description: null,
      created_time: '2024-01-18 16:45:00',
      updated_time: '2024-01-18 16:45:00',
      deleted: 0,
    },
    // 客房资源复制记录
    {
      id: 5,
      original_resource_id: 2,
      copied_resource_id: 105,
      copied_by: 'housekeeper',
      copy_reason: '创建客房清洁模板',
      copy_scope: 'group',
      copy_time: '2024-01-19 11:30:00',
      is_template: true,
      template_name: '客房清洁管理模板',
      template_description:
        '这是一个客房清洁管理的模板，包含清洁计划、质量检查等能力',
      created_time: '2024-01-19 11:30:00',
      updated_time: '2024-01-19 11:30:00',
      deleted: 0,
    },
    // 前台资源复制记录
    {
      id: 6,
      original_resource_id: 3,
      copied_resource_id: 106,
      copied_by: 'receptionist',
      copy_reason: '为培训创建模板',
      copy_scope: 'private',
      copy_time: '2024-01-20 13:20:00',
      is_template: true,
      template_name: '前台服务培训模板',
      template_description:
        '这是一个前台服务培训的模板，包含入住退房、客人服务等能力',
      created_time: '2024-01-20 13:20:00',
      updated_time: '2024-01-20 13:20:00',
      deleted: 0,
    },
    // 餐厅资源复制记录
    {
      id: 7,
      original_resource_id: 4,
      copied_resource_id: 107,
      copied_by: 'waiter',
      copy_reason: '创建餐厅服务模板',
      copy_scope: 'group',
      copy_time: '2024-01-21 15:10:00',
      is_template: true,
      template_name: '餐厅服务管理模板',
      template_description:
        '这是一个餐厅服务管理的模板，包含点餐、结账、客人服务等能力',
      created_time: '2024-01-21 15:10:00',
      updated_time: '2024-01-21 15:10:00',
      deleted: 0,
    },
    // 温泉资源复制记录
    {
      id: 8,
      original_resource_id: 5,
      copied_resource_id: 108,
      copied_by: 'admin',
      copy_reason: '作为温泉业务模板',
      copy_scope: 'public',
      copy_time: '2024-01-22 10:00:00',
      is_template: true,
      template_name: '温泉服务管理模板',
      template_description:
        '这是一个温泉服务管理的模板，包含预约管理、服务提供、设备管理等能力',
      created_time: '2024-01-22 10:00:00',
      updated_time: '2024-01-22 10:00:00',
      deleted: 0,
    },
    // 景区资源复制记录
    {
      id: 9,
      original_resource_id: 6,
      copied_resource_id: 109,
      copied_by: 'manager',
      copy_reason: '为景区管理创建模板',
      copy_scope: 'private',
      copy_time: '2024-01-23 14:30:00',
      is_template: true,
      template_name: '景区管理模板',
      template_description:
        '这是一个景区管理的模板，包含票务管理、游客服务、安全管理等能力',
      created_time: '2024-01-23 14:30:00',
      updated_time: '2024-01-23 14:30:00',
      deleted: 0,
    },
    // 医疗美容资源复制记录
    {
      id: 10,
      original_resource_id: 7,
      copied_resource_id: 110,
      copied_by: 'admin',
      copy_reason: '作为医疗美容业务模板',
      copy_scope: 'public',
      copy_time: '2024-01-24 16:20:00',
      is_template: true,
      template_name: '医疗美容服务模板',
      template_description:
        '这是一个医疗美容服务的模板，包含预约管理、治疗记录、客户管理等能力',
      created_time: '2024-01-24 16:20:00',
      updated_time: '2024-01-24 16:20:00',
      deleted: 0,
    },
  ];

  // 过滤数据
  let filteredData = resourceCopyRecords.filter((item) => item.deleted === 0);

  if (originalResourceId) {
    filteredData = filteredData.filter(
      (item) => item.original_resource_id === Number(originalResourceId),
    );
  }

  if (copiedResourceId) {
    filteredData = filteredData.filter(
      (item) => item.copied_resource_id === Number(copiedResourceId),
    );
  }

  if (copiedBy) {
    filteredData = filteredData.filter((item) => item.copied_by === copiedBy);
  }

  if (isTemplate !== undefined) {
    filteredData = filteredData.filter(
      (item) => item.is_template === (isTemplate === 'true'),
    );
  }

  // 分页
  const startIndex = (Number(pageNo) - 1) * Number(pageSize);
  const endIndex = startIndex + Number(pageSize);
  const paginatedData = filteredData.slice(startIndex, endIndex);

  return {
    code: 0,
    message: '查询成功',
    data: {
      list: paginatedData,
      total: filteredData.length,
      pageNo: Number(pageNo),
      pageSize: Number(pageSize),
    },
  };
});
